package study.itwill.team5.main;

import java.util.ArrayList;

import study.itwill.common.DBHandler;
import study.itwill.team5.board.BoardCategory;
import study.itwill.team5.board.BoardCategoryItem;

/**
 * 게시판 카테고리 기능들을 실행하는 메인 클래스
 */
public class Main06 {
	public static void main(String[] args) {
		
		// 데이터베이스 제어 객체에 대한 참조
		DBHandler db = DBHandler.getInstance();
		
		String 	HOSTNAME = "127.0.0.1";	// 현재 내 컴퓨터
		int 	HOSTPORT = 3306;		// 기본 포트 번호
		String	DATABASE = "italia";	// Schema 이름
		String 	USERNAME = "samulman";		// 접속 계정 아이디
		String 	PASSWORD = "9878";	// 비밀번호
		String 	CHARSET = "utf8";		// 케릭터 셋
		
		db.setInfo(HOSTNAME, HOSTPORT, DATABASE, USERNAME, PASSWORD, CHARSET);
		db.connect();
		
		BoardCategory boardCategory = new BoardCategory();
		
		/** 1. 게시판 카테고리 추가 */
		int seq = boardCategory.addBoardCategory("공지사항");
		
		if(seq < 0) {
			System.out.println("게시판 카테고리 추가 실패");
		} else {
			System.out.println(seq + "번 게시판 카테고리 추가됨");
		}
		
		seq = boardCategory.addBoardCategory("문의하기");
		
		if(seq < 0) {
			System.out.println("게시판 카테고리 추가 실패");
		} else {
			System.out.println(seq + "번 게시판 카테고리 추가됨");
		}
		
		seq = boardCategory.addBoardCategory("후기작성");
		
		if(seq < 0) {
			System.out.println("게시판 카테고리 추가 실패");
		} else {
			System.out.println(seq + "번 게시판 카테고리 추가됨");
		}
		System.out.println("---------------------------------------------------");
		
		
		/** 2. 게시판 카테고리 수정 */
		
		boolean edit = boardCategory.editBoardCategory(3, "민박후기");
		
		if(edit == false) {
			System.out.println("게시판 카테고리 수정 실패");
		} else {
			System.out.println("게시판 카테고리 수정됨");
		}
		System.out.println("---------------------------------------------------");
		
		
		/** 3. 게시판 카테고리 삭제 */
		boolean delete = boardCategory.deleteBoardCategory(2);
		
		if(delete == false) {
			System.out.println("게시판 카테고리 삭제 실패");
		} else {
			System.out.println("게시판 카테고리 삭제됨");
		}
		System.out.println("---------------------------------------------------");
		
		
		/** 4. 게시판 카테고리 조회 */
		
		// 3번 게시판 카테고리의 정보 조회
		BoardCategoryItem item = boardCategory.viewBoardCategory(3);
		
		if(item == null) {
			System.out.println("조회된 데이터 없음");
		} else {
			System.out.println(item.toString());
		}
		System.out.println("---------------------------------------------------");
		
		// 모든 게시판 카테고리의 정보 조회
		ArrayList<BoardCategoryItem> list = boardCategory.listBoardCategory();
		
		if(list == null) {
			System.out.println("조회된 데이터 없음");
		} else {
			for (int i=0; i<list.size(); i++) {
				BoardCategoryItem temp = list.get(i);
				System.out.println(temp.toString());
			}
		}
		System.out.println("---------------------------------------------------");
		
		// 접속해제
		db.disconnect();
	}
}
